<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="../../lib/axios.min.js"></script>
    <script>
        //拦截器 :  顾名思义 , 就是在实现请求和响应中间的拦截操作(可以在请求和响应的过程中植入一些操作)

        // 在请求或响应被 then 或 catch 处理前拦截它们。 
        
        //配置一个请求拦截器 (会在发起请求之前执行调用)
        axios.interceptors.request.use((config)=>{//config 当前请求的配置
            console.log(config)
            //可以在此处进行一些请求配置的修改 : 设置包头 ,修改地址参数, 发送的数据处理...  也可以实现业务上的操作:显示一个加载动画
            return config; //一定返回config , 不然就不请求
        } , (err)=>{
            return Promise.reject(err)
        })

         //配置一个响应拦截器(请求返回数据 ,then 处理之前执行调用)
         axios.interceptors.response.use((res)=>{ //res 请求返回的响应内容及配置信息
            console.log(res)
            //可以在此处: 实现数据的格式化 , 隐藏加载动画等业务
            return res;//一定要返回 res , 不然无法处理成功
         },(err)=>{
            //此处就是经常用于进行错误异常统一处理 : 404 401 403 500..
            return Promise.reject(err)
         })

         axios("https://lby.link/api")
    </script>
</body>
</html>